package com.heihei.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer {

	@Bean
	public WebMvcConfigurer corsConfigurer() {
		return new WebMvcConfigurer() {
			// 跨域的支持
			@Override
			public void addCorsMappings(CorsRegistry registry) {
				registry.addMapping("/**")
						// 允许跨域的域名，可以用*表示允许任何域名使用
						.allowedOrigins("*")
						// 允许任何方法（post、get等）
						.allowedMethods("*")
						// 允许任何请求头
						.allowedHeaders("*")
						// 带上cookie信息等
						.allowCredentials(true)
						.exposedHeaders(HttpHeaders.SET_COOKIE).maxAge(3600L); // maxAge(3600)表明在3600秒内，不需要再发送预检验请求，可以缓存该结果
			}


			/**
			 * 这里可以添加拦截器，暂时不用，所以暂时注掉了
			 *
			 * @author duanhf
			 * 2021年09月02日 15:17:24
			 */
//			@Override
//			public void addInterceptors(InterceptorRegistry registry) {
//				if(authInterceptor != null) {
//					registry.addInterceptor(authInterceptor)
//							//定义拦截路径
//                			.addPathPatterns("/**")
//							//放行swagger、登录、注销接口
//							.excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**",
//									"/jxjk-user/user-login", "/jxjk-user/logout-current-user");
//				}
//			}




		};
	}

	//这里应该是Date自动转换格式的，前后端格式转换用，暂时不加
//	public class SpringfoxJsonToGsonAdapter implements JsonSerializer<Json> {
//
//		@Override
//		public JsonElement serialize(Json json, Type type, JsonSerializationContext context) {
//			return JsonParser.parseString(json.value());
//		}
//	}
}
